package com.example.service;

import org.mengyun.tcctransaction.api.Compensable;

/**
 * @ClassName ServiceApi
 * @Description TODO
 * @Author zhaoluowei
 * @Date 2019/9/8  12:36
 * @Version 1.0
 */

public interface ServiceApi {

    //标志位分布式事务的状态
    @Compensable
    String sendMsg(String message);


    /**
     * 传入购票数量、传入购买座位、影厅编号
     *     1.判断传入的座位是否存在
     *     2.查询过往订单，判断座位是否已售
     *     3.新增订单
     *逻辑：
     * 1. 新增一条订单
     * 2. 判断座位是否已售 & 座位是否存在
     * 3. 任意一条为假 则修改订单为无效状态。
     */

    /**
     * 判断座位是否存在
     *
     * @param seats
     * @return
     */
    @Compensable
    boolean isTrueSeats(String seats) throws Exception;

    /**
     * 判断是否已售
     *
     * @param seats
     * @return
     */
    @Compensable
    boolean isNotSold(String seats) throws Exception;

    /**
     * 生成订单
     *
     * @param fildId
     * @param seats
     * @param seats
     * @return
     */
    @Compensable
    String saveOrder(String fildId, String seats, String seatNum) throws Exception;

}
